# 使用Python 3.9作为基础镜像
FROM python:3.9-slim

# 设置工作目录
WORKDIR /app

# 设置环境变量
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1

# 安装系统依赖
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        default-libmysqlclient-dev \
        pkg-config \
        python3-dev \
        libgl1-mesa-glx \
        libglib2.0-0 \
        libsm6 \
        libxext6 \
        libxrender-dev \
        libglib2.0-0 \
        libsm6 \
        libxrender1 \
        libxext6 \
        libgl1-mesa-glx \
        libgl1-mesa-dri \
        xvfb \
        netcat-traditional \
        default-mysql-client \
    && rm -rf /var/lib/apt/lists/*

# 复制项目文件
COPY . /app/

# 设置文件权限
RUN chmod +x /app/wait-for-mysql.sh

# 安装Python依赖
RUN pip install --no-cache-dir -r requirements.txt

# 创建必要的目录并设置权限
RUN mkdir -p /app/uploads \
    && chmod -R 755 /app/uploads

# 暴露端口
EXPOSE 5000

# 启动命令
CMD ["python", "app.py"] 